import request from '@/utils/request';
import qs from 'qs';
import type { PageResult, ResponseData } from '../typing';
import { GetMedicalCaregiverServicePageParams } from './home';
// 参数接口
export interface UpdateMedicalCaregiverCarerParams {
    // 项目code */
    projectCode: string;
    // 宣传图 */
    photoFile: {
        // 查看地址 */
        viewAddress: string;
        // 旧文件名 */
        oldName: string;
        // 新文件名 */
        newName?: string;
        // 文件大小,单位：Mb */
        totalSize?: Record<string, unknown>;
        // 附件类型，0图片、1视频、2音频 */
        fileType?: Record<string, unknown>;
    };
    // 护工姓名 */
    name: string;
    // 性别，0男1女 */
    sex: number;
    // 联系电话 */
    phone: string;
    // 工作年限 */
    workYears?: string;
    // 家庭住址 */
    homeAddress?: string;
    // 是否组长，0否1是 */
    groupLeader: number;
    // 状态，0冻结，1正常 */
    status: number;
    // 宣传图 */
    idCardFiles: {
        // 查看地址 */
        viewAddress: string;
        // 旧文件名 */
        oldName: string;
        // 新文件名 */
        newName?: string;
        // 文件大小,单位：Mb */
        totalSize?: Record<string, unknown>;
        // 附件类型，0图片、1视频、2音频 */
        fileType?: Record<string, unknown>;
    }[];
    // 胡工 - 负责区域 */
    departmentList: {
        // 主键，修改时传值 */
        id?: Record<string, unknown>;
        // 护工ID */
        carerId?: Record<string, unknown>;
        // 科室ID */
        departmentId?: Record<string, unknown>;
    }[];
    // 主键 */
    id: number;
    /*角色id列表 */
    roleIds: Record<string, unknown>[];
}

/**
 * 更新医疗-陪护-护工管理
 * @param {object} params 管理后台 - 医疗-陪护-护工管理更新 Request VO
 * @param {string} params.projectCode 项目code
 * @param {object} params.photoFile 宣传图
 * @param {string} params.name 护工姓名
 * @param {number} params.sex 性别，0男1女
 * @param {string} params.phone 联系电话
 * @param {string} params.workYears 工作年限
 * @param {string} params.homeAddress 家庭住址
 * @param {number} params.groupLeader 是否组长，0否1是
 * @param {number} params.status 状态，0冻结，1正常
 * @param {array} params.idCardFiles 宣传图
 * @param {array} params.departmentList 胡工 - 负责区域
 * @param {number} params.id 主键
 * @returns
 */
export function updateMedicalCaregiverCarer(params: UpdateMedicalCaregiverCarerParams): Promise<ResponseData<any>> {
    return request.put(`/yfwy/medical-caregiver-carer/update`, params);
}
// 响应接口
export interface GetMedicalCaregiverCarerPageRes {
    code: number;
    data: {
        size: number;
        total: number;
        current: number;
        records: {
            createTime: Record<string, unknown>;
            updateTime: Record<string, unknown>;
            creator: number;
            updater: number;
            // 主键 */
            id: number;
            // 项目code */
            projectCode: string;
            // 护工照片 */
            photoFile: string;
            // 护工姓名 */
            name: string;
            // 联系电话 */
            phone: string;
            // 是否组长，0否1是 */
            groupLeader: number;
            // 状态，0冻结，1正常 */
            status: number;
            // 负责区域 */
            departmentList: string;
        }[];
        pages: number;
    };
    msg: string;
}
/**
 * 获得医疗-陪护-护工管理分页
 * @param {string} projectCode 项目code
 * @param {string} name 护工姓名
 * @param {string} current 当前第几页(默认1)
 * @param {string} size 每页条数(默认20)
 * @returns
 */
export function getMedicalCaregiverCarerPage(params: GetMedicalCaregiverServicePageParams): Promise<GetMedicalCaregiverCarerPageRes> {
    return request.post(`/yfwy/medical-caregiver-carer/page`, params);
}
// 参数接口
export interface CreateMedicalCaregiverCarerParams {
    // 项目code */
    projectCode: string;
    // 宣传图 */
    photoFile: {
        // 查看地址 */
        viewAddress: string;
        // 旧文件名 */
        oldName: string;
        // 新文件名 */
        newName?: string;
        // 文件大小,单位：Mb */
        totalSize?: Record<string, unknown>;
        // 附件类型，0图片、1视频、2音频 */
        fileType?: Record<string, unknown>;
    };
    // 护工姓名 */
    name: string;
    // 性别，0男1女 */
    sex: number;
    // 联系电话 */
    phone: string;
    // 工作年限 */
    workYears?: string;
    // 家庭住址 */
    homeAddress?: string;
    // 是否组长，0否1是 */
    groupLeader: number;
    // 状态，0冻结，1正常 */
    status: number;
    // 宣传图 */
    idCardFiles: {
        // 查看地址 */
        viewAddress: string;
        // 旧文件名 */
        oldName: string;
        // 新文件名 */
        newName?: string;
        // 文件大小,单位：Mb */
        totalSize?: Record<string, unknown>;
        // 附件类型，0图片、1视频、2音频 */
        fileType?: Record<string, unknown>;
    }[];
    // 胡工 - 负责区域 */
    departmentList: {
        // 主键，修改时传值 */
        id?: Record<string, unknown>;
        // 护工ID */
        carerId?: Record<string, unknown>;
        // 科室ID */
        departmentId?: Record<string, unknown>;
    }[];
    /*角色id列表 */
    roleIds: Record<string, unknown>[];
}

/**
 * 创建医疗-陪护-护工管理
 * @param {object} params 管理后台 - 医疗-陪护-护工管理创建 Request VO
 * @param {string} params.projectCode 项目code
 * @param {object} params.photoFile 宣传图
 * @param {string} params.name 护工姓名
 * @param {number} params.sex 性别，0男1女
 * @param {string} params.phone 联系电话
 * @param {string} params.workYears 工作年限
 * @param {string} params.homeAddress 家庭住址
 * @param {number} params.groupLeader 是否组长，0否1是
 * @param {number} params.status 状态，0冻结，1正常
 * @param {array} params.idCardFiles 宣传图
 * @param {array} params.departmentList 胡工 - 负责区域
 * @returns
 */
export function createMedicalCaregiverCarer(params: CreateMedicalCaregiverCarerParams): Promise<ResponseData<any>> {
    return request.post(`/yfwy/medical-caregiver-carer/create`, params);
}
// 响应接口
export interface GetMedicalCaregiverCarerRes {
    code: number;
    data: {
        // 主键 */
        id: number;
        // 项目code */
        projectCode: string;
        photoFile: {
            // 查看地址 */
            viewAddress: string;
            // 旧文件名 */
            oldName: string;
            // 新文件名 */
            newName: string;
            // 文件大小,单位：Mb */
            totalSize: number;
            // 附件类型，0图片、1视频、2音频 */
            fileType: number;
        };
        // 护工姓名 */
        name: string;
        // 性别，0男1女 */
        sex: number;
        // 联系电话 */
        phone: string;
        // 工作年限 */
        workYears: string;
        // 家庭住址 */
        homeAddress: string;
        // 是否组长，0否1是 */
        groupLeader: number;
        // 状态，0冻结，1正常 */
        status: number;
        // 身份证照片 */
        idCardFiles: {
            // 查看地址 */
            viewAddress: string;
            // 旧文件名 */
            oldName: string;
            // 新文件名 */
            newName: string;
            // 文件大小,单位：Mb */
            totalSize: number;
            // 附件类型，0图片、1视频、2音频 */
            fileType: number;
        }[];
        // 负责区域 */
        departmentList: {
            // 主键，修改时传值 */
            id: number;
            // 护工ID */
            carerId: number;
            // 科室ID */
            departmentId: number;
        }[];
    };
    msg: string;
}
/**
 * 获得医疗-陪护-护工管理
 * @param {string} id
 * @returns
 */
export function getMedicalCaregiverCarer(id: number): Promise<GetMedicalCaregiverCarerRes> {
    return request.get(`/yfwy/medical-caregiver-carer/get/${id}`);
}
// 响应接口
export interface ExportMedicalCaregiverCarerExcelRes {}
/**
 * 导出医疗-陪护-护工管理 Excel
 * @param {string} exportReqVO 管理后台 - 医疗-陪护-护工管理分页 Request VO
 * @returns
 */
export function exportMedicalCaregiverCarerExcel(params: CreateMedicalCaregiverCarerParams): Promise<Blob> {
    return request.post(`/yfwy/medical-caregiver-carer/export-excel`, params, {
        responseType: 'blob',
    });
}

/**
 * 删除医疗-陪护-护工管理
 * @param {string} id
 * @returns
 */
export function deleteMedicalCaregiverCarer(id: number): Promise<ResponseData<any>> {
    return request.delete(`/yfwy/medical-caregiver-carer/del/${id}`);
}
